跳到主要内容

1.8 触发器转换

触发器是一种具有两个稳定状态和反馈路径的电子设备,它通过使用时钟信号作为输入来存储1位信息。锁存器也被用于完成相同的任务,只是它们不使用时钟信号。因此,简单来说,“触发器是有时钟信号的锁存器”。它们用于存储仅1位的信息,并且可以保持在相同的状态,直到时钟信号影响输入的状态。

触发器有四种类型:

  • SR触发器
  • D触发器
  • JK触发器
  • T触发器

触发器转换

在数字电路设计中,JK触发器和D触发器是最广泛使用的触发器类型,它们在集成电路(IC)中的可用性非常丰富。然而,SR触发器和T触发器的使用频率较低,且市场上很少有这些类型的集成电路。在某些情况下,可能需要使用这些不太常见的触发器来实现特定的逻辑电路。为了满足这种需求,我们可以将一种类型的触发器转换为另一种类型。以下是一些常见的触发器转换方法:

  • SR触发器转换为JK触发器
  • SR触发器转换为D触发器
  • SR触发器转换为T触发器
  • JK触发器转换为SR触发器
  • JK触发器转换为D触发器
  • JK触发器转换为T触发器
  • D触发器转换为SR触发器
  • D触发器转换为JK触发器

为了将一种触发器转换为另一种类型,我们需要设计一个组合逻辑电路,该电路连接到实际的触发器上。组合逻辑电路的输入与目标触发器的输入相同,而其输出则与现有触发器的输入相同。因此,组合逻辑电路的输出连接到现有触发器的输入。这种转换的示意图如下所示。

alt text

SR触发器转换为其他类型的触发器

SR触发器转换为JK触发器

要将SR触发器转换为JK触发器,我们需要设计一个组合逻辑电路,其输入为J和K,输出连接到现有的SR触发器的输入端。这样,该电路的输出与JK触发器的输出相同。

首先,我们为两个输入J和K编写真值表。考虑到当前状态QPQ_P和下一个状态QNQ_N,我们可以得到8种可能的组合。对于每种J、K和QPQ_P的组合,我们找到对应的QNQ_N状态。这些QNQ_N值表示JK触发器在当前状态下,应用输入后输出将跳转到的状态。接下来,我们在真值表中写出所有S和R的组合,以从对应的QPQ_P得到每个QNQ_N值。因此,这些S和R的值用于将触发器的状态从QPQ_P改变为QNQ_N

从SR触发器到JK触发器的转换表如下所示。

alt text

为了推导出S和R关于J和K的布尔方程,我们使用上述表格中的卡诺图(Karnaugh Map)。

S的卡诺图如下所示。

alt text

S的布尔方程为:

S=JQPS = J\overline{Q_P}

R的卡诺图如下所示。

alt text

R的布尔方程为:

R=KQPR = KQ_P

因此,S和R关于J、K和QPQ_P的布尔方程分别为:

S=JQPS = J\overline{Q_P}
R=KQPR = KQ_P

从SR触发器实现JK触发器的逻辑图如下所示。其中,J和K是电路的外部输入,而S和R是设计的组合逻辑输出。

alt text

SR触发器转换为D触发器

将SR触发器转换为D触发器,需要将数据输入(D)连接到SR触发器。具体来说,数据输入直接连接到S输入端,而反向的D输入(通过非门)连接到R输入端。同样的转换也可以通过真值表和相应的卡诺图来推导。S和R是触发器的输入,而QPQ_PQP\overline{Q_P}是触发器的当前状态及其反相输出。我们需要设计一个组合逻辑电路,使其输入为D,输出为S和R。组合逻辑电路的输出S和R连接到SR触发器的输入端。

从SR触发器到D触发器的转换真值表如下所示。该真值表是针对D输入和QPQ_P输出绘制的,以找到对应的QNQ_N输出。

alt text

为了推导出S关于D的布尔方程,卡诺图如下所示。

alt text

S的布尔方程为:

S=DS = D

为了推导出R关于D的布尔方程,卡诺图如下所示。

alt text

R的布尔方程为:

R=DR = \overline{D}

因此,S和R关于D的布尔方程分别为:

S=DS = D
R=DR = \overline{D}

从SR触发器实现D触发器的逻辑图如下所示。

alt text

SR触发器转换为T触发器

为了将SR触发器转换为T触发器,所需的组合逻辑电路可以从真值表中构建。组合逻辑电路的输入是T(翻转输入),输出是S和R。S和R是实际触发器的输入。触发器的输出及其反相输出是QPQ_PQP\overline{Q_P}。真值表包含了T和QPQ_P的组合,以得到QNQ_N,其中QNQ_N是触发器的下一个状态输出。导致QNQ_N的S和R的组合也在同一表中列出。

从SR触发器到T触发器的转换表如下所示。

alt text

为了推导出S关于T和QPQ_P的布尔方程,卡诺图如下所示。

alt text

S的布尔方程为:

S=TQPS = T\overline{Q_P}

为了推导出R关于T和QPQ_P的布尔方程,卡诺图如下所示。

alt text

R的布尔方程为:

R=TQPR = TQ_P

因此,S和R的布尔方程分别为:

S=TQPS = T\overline{Q_P}
R=TQPR = TQ_P

从SR触发器实现T触发器的逻辑电路如下所示。

alt text

JK触发器转换为其他类型的触发器

JK触发器转换为SR触发器

要将JK触发器转换为SR触发器,我们需要设计一个组合逻辑电路,其输入为S和R,输出为J和K。这里,J和K是实际触发器的输入。为了实现这种转换,我们需要根据S、R和QPQ_P的组合得到对应的QNQ_N状态,并从中推导出J和K的值。

假设当两个输入S和R被施加时,QPQ_P是当前状态输出,而QNQ_N是下一个状态输出。对于每种S、R和QPQ_P的组合,我们找到对应的QNQ_N状态。

现在,我们为输入S、R和QPQ_P的所有可能组合准备一个真值表。对于S和R两个输入以及QPQ_P,我们可以得到8种可能的组合。对于每种S和R输入以及QPQ_P的组合,我们找到对应的QNQ_N值。现在我们在真值表中写出所有J和K的值,以从对应的QPQ_P得到每个QNQ_N值。

在SR触发器中,当两个输入均为高电平时,即S = 1且R = 1,触发器将处于未定义状态或禁止状态。因此,对于这种组合,我们将J和K输入视为“无关项”。

从JK触发器实现SR触发器的转换表如下所示。

alt text

J的卡诺图如下所示。

alt text

J的布尔方程为:

J=SJ = S

K的卡诺图如下所示。

alt text

K的布尔方程为:

K=RK = R

因此,J和K关于S和R的布尔方程分别为:

J=SJ = S
K=RK = R
。因此,无需额外的组合电路,因为S和R输入与J和K输入相同。从JK触发器实现SR触发器的逻辑电路如下所示。

alt text

JK触发器转换为D触发器

将JK触发器转换为D触发器,需要通过组合逻辑电路将数据输入(D)连接到JK触发器。具体来说,数据输入直接连接到J输入端,而反向的D输入(通过非门)连接到K输入端。

组合逻辑电路的设计应使D作为输入,而J和K作为输出。组合逻辑电路的输出J和K连接到触发器的输入端。QPQ_P是触发器的当前状态输出,QP\overline{Q_P}是其反相输出,而QNQ_N是下一个状态输出。将JK触发器转换为D触发器的真值表如下所示。

alt text

为了解出J和K关于D和QPQ_P的布尔方程,卡诺图如下所示。

J的卡诺图如下所示。

alt text

J的布尔方程为:

J=DJ = D

K的卡诺图如下所示。

alt text

K的布尔方程为:

K=DK = \overline{D}

因此,J和K的布尔方程分别为:

J=DJ = D
K=DK = \overline{D}
。从JK触发器实现D触发器的逻辑图如下所示。

alt text

JK触发器转换为T触发器

将JK触发器转换为T触发器,需要将翻转输入(T)直接连接到J和K输入端。因此,翻转(T)将是组合逻辑电路的外部输入。其输出连接到实际触发器(JK触发器)的输入端。

我们通过考虑翻转输入(T)和QPQ_P的4种可能组合来准备真值表。QPQ_PQP\overline{Q_P}是触发器的当前状态输出及其反相输出,而QNQ_N是下一个状态输出。真值表是针对T输入和QPQ_P输出绘制的,以找到对应的QNQ_N输出。

从JK触发器到T触发器的转换表如下所示。

alt text

为了解出J关于T和QPQ_P的布尔方程,卡诺图如下所示。

alt text

J的布尔方程为:

J=TJ = T

为了解出K关于T和QPQ_P的布尔方程,卡诺图如下所示。

alt text

K的布尔方程为:

K=TK = T

因此,J和K的布尔方程分别为:

J=TJ = T
K=TK = T
。从JK触发器实现T触发器的逻辑电路如下所示。

alt text

D触发器转换为其他类型的触发器

D触发器转换为SR触发器

要将D触发器转换为SR触发器,需要构建一个组合逻辑电路,其输入为S和R,输出为D。这里,数据(D)是实际触发器的输入。真值表是根据S和R两个输入以及QPQ_P的8种可能组合绘制的。QPQ_PQP\overline{Q_P}是触发器的当前状态及其反相输出。

当SR触发器的两个输入均为高电平时,即S = 1且R = 1,QPQ_P的值是无效的,因此对于对应的QPQ_P,数据(D)输入被视为“无关项”。

以下是S、R和QPQ_P的真值表,以得到QNQ_N。它还包含了D输入,以得到相同的QNQ_N

alt text

为了解出D关于S、R和QPQ_P的布尔方程,卡诺图如下所示。

alt text

D的布尔方程为:

D=S+RQPD = S + R'Q_P
。使用该方程从D触发器实现SR触发器的逻辑图如下所示。

alt text

D触发器转换为JK触发器

当需要将D触发器转换为JK触发器时,J和K是组合逻辑电路的输入,而D是其输出。这里,数据(D)是实际触发器的输入。真值表是根据J和K两个输入以及QPQ_P的8种可能组合绘制的。QPQ_PQP\overline{Q_P}是触发器的当前状态及其反相输出。

真值表包含了J、K和QPQ_P的组合,以得到QNQ_N。这里,QNQ_N是触发器的下一个状态输出。真值表还包含了导致QNQ_N输出的D输入。

转换表如下所示。

D触发器转换为JK触发器

当需要将D触发器转换为JK触发器时,J和K是组合逻辑电路的输入,而D是其输出。这里,数据(D)是实际触发器的输入。真值表是根据J和K两个输入以及QPQ_P的8种可能组合绘制的。QPQ_PQP\overline{Q_P}是触发器的当前状态及其反相输出。

真值表包含了J、K和QPQ_P的组合,以得到QNQ_N。这里,QNQ_N是触发器的下一个状态输出。真值表还包含了导致QNQ_N输出的D输入。

转换表如下所示。

alt text

D关于J、K和QPQ_P的卡诺图如下所示。

alt text

从上述卡诺图中推导出的D的布尔方程为:

D=JQP+KQPD = J\overline{Q_P} + K'Q_P
。从D触发器实现JK触发器的逻辑表示如下所示。

alt text

D触发器转换为T触发器

当需要将D触发器转换为T触发器时,T(翻转输入)是组合逻辑电路的输入,而D是其输出。这里,数据(D)是实际触发器的输入。真值表是根据T输入和QPQ_P的4种可能组合绘制的。QPQ_PQP\overline{Q_P}是触发器的当前状态及其反相输出。

真值表包含了T和QPQ_P的组合,以得到QNQ_N。这里,QNQ_N是触发器的下一个状态输出。真值表还包含了导致QNQ_N输出的D输入。

转换表如下所示。

alt text

D关于T和QPQ_P的卡诺图如下所示。

alt text

D的布尔方程为:

D=TQP+TQPD = T'\overline{Q_P} + TQ_P'
。使用D触发器实现T触发器的逻辑电路如下所示。

alt text